Python集合

111次阅读
没有评论

共计 783 个字符,预计需要花费 2 分钟才能阅读完成。

集合存储原理

data = set()
data.add('a')
print(data)  # {'a'}
  • 利用哈希函数将“a”转换成一个数值,例如:1280120246861766981
  • 取余数:1280120246861766981 % 6 = 3
  • 将“a”放在哈希表的索引 3 位置

添加删除元素

data = {"a", "b"}
data.add("c")
print(data)  # {'a', 'b', 'c'}

data.update(["d", "e"])  # 添加多个元素
print(data)  # {'a', 'e', 'c', 'd', 'b'}

data.remove("c")  # 删除元素,如果元素不存在,会引发 KeyError
print(data)  # {'a', 'e', 'd', 'b'}

data.discard("f")  # 安全地删除元素,不会引发异常
print(data)  # {'a', 'e', 'd', 'b'}

交并差

v1 = {"a", "b", "c"}
v2 = {"w", "b", "d"}

res = v1 & v2  # 交集 或 v1.intersection(v2)
res2 = v1 | v2  # 并集 或 v1.union(v2)
res3 = v1 - v2  # 差集 或 v1.difference(v2)
res4 = v1 ^ v2  # 对称差集 即 交集 - 并集 或 v1.symmetric_difference(v2)

print(res)  # {'b'}
print(res2)  # {'a', 'b', 'c', 'd', 'w'}
print(res3)  # {'a', 'c'}
print(res4)  # {'a', 'c', 'd', 'w'}

isdisjoint

判断两个集合是否包含相同的元素,如果没有返回 true,否则返回 false。

data = {"a", "b", "c"}
data2 = {"w", "b", "d"}
result = data.isdisjoint(data2)
print(result) # False

正文完
 0
三毛笔记
版权声明:本站原创文章,由 三毛笔记 于2023-08-14发表,共计783字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)